The present invention relates in general to the design and manufacture of integrated circuits and, more particularly, to an optimization process using parallel processors.
In the design and simulation of integrated circuits (ICs), a computer model of the device is generally developed to simulate its operation before manufacture. The computer model is a mathematical function describing the device and requires parameters values for a complete quantitative evaluation of its performance. A carefully designed computer model along with optimal parameters provides accurate performance predictions to give designers valuable insight into the final design before fabricating the circuit.
Determining optimal parameters is an important step in building an accurate computer model. The optimization process generally involves searching for an absolute minimum of the function. The optimization process requires a large number of computation iterations of either random trials or gradient steps to home in on the optimal solution, i.e. absolute minimum of the function. Most if not all optimization processes do not suddenly arrive at the best solution, but rather the process is halted after some period of time where no better solutions are found.
Searching for the optimal solution in random mode, i.e. randomly selecting values in the proximity of prior solutions, is computationally fast but may overlook the optimal solution because of the random nature. Prior art optimizers that use a gradient approach tend to be slow because each evaluation requires numerous calculations to take the derivative of the function to finds its slope. A conventional high-speed computer system processing instructions sequentially may involve hundreds of hours to reach a satisfactorily optimized solution in gradient mode. The time requirements become burdensome as the complexity of the function and number of device parameters increase.
Hence, a need exists for a method of finding the optimal solution to an arbitrary function in a more efficient manner.